import store from '@/store/index';
export default {
	// BASEURI: 'https://app.dfkjt.com/v1/',
	BASEURI: 'https://test.dfkjt.com/v1/',
	imgsrc: "https://image.dfkjt.com",
	imgIcon: 'https://app.dfkjt.com',
	// BASEURI: 'http://localhost:8090/v1/',
	wx_chat_appid: 'wxbe52b1749e0833eb',
	es: {
		searchList: 'search',
	},
	/**
	 * 接口名称
	 */
	index: {
		appletLogin_by_weixin: 'applet/login_by_weixin', // 登录(手机号:phone 密码:password)
		// login: 'single/home/login', 		// 登录(手机号:phone 密码:password)
		simpleReg: 'single/home/simpleReg', // 登录(手机号:phone 密码:password)
		home: 'single/home/home_mobile',
		homeIndex: 'homeIndex',
		updatePassword: 'single/home/updatePassword',
		get_lock: 'user/get_lock', //获取公钥
		loginByCode: 'single/home/loginByCode', // 手机和验证码登录
		// reg: 'single/home/reg', // 注册
		// sendCodes: 'single/home/sms/codes', // 获取验证码
		sendCodes: 'user/get_captcha', // 获取验证码
		reg: 'user/captcha_verify', // 验证验证码
		login: 'user/login', // 登录
		setpwd: 'user/set_password', //设置密码
		updatepwd:'user/update_password',//重置密码
		bind_mobile:'user/bind_mobile',//绑定手机号码
		wxAuth:'user/wx_auth',//微信授权获取wx_openid
		wxMiniAuth: 'user/wx_mini_auth', //微信小程序授权获取openID
		wxMiniCodeAuth: 'user/wx_mini_code_auth', //微信小程序授权获取用户信息
		acceptCoupon: 'single/sms/add', // 获取优惠券
		listMemberCoupon: 'single/sms/listMemberCoupon', // 优惠券列表
		couponList: 'single/home/couponList', //  可领取的优惠券
		userInfo: 'user/profile', //  用户信息
		userQrcode: 'user/qrcode', // 用户推广二维码
		uploadFile: 'user/upload_avatar', //上传图片及文件
		groupActivityDetail: 'single/sms/group.activity.getdetial', // 查询团购详情信息
		groupActivityList: 'single/sms/groupActivityList', // 查询商品团购列表
		logs: 'single/home/logs', //  记录日志
		check_version: 'package/check_version',//App版本检测更新
		
	},
	member: {
		storeList: 'single/user/store/list', // 查询学校列表
		storeDetail: 'single/user/storeDetail', // 查询拼团商品详情信息
		schoolList: 'single/user/school/list', // 查询学校列表
		schoolDetail: 'single/user/schoolDetail', // 查询拼团商品详情信息
		getAreaByPid: 'single/user/getAreaByPid', // 根据pid查询区域
		bindSchool: 'single/user/bindSchool', // 会员绑定学校
		bindArea: 'single/user/bindArea', // 会员绑定区域
	},
	goods: {
		goodsPromoto: 'single/sms/detail', // 单个商品的优惠详情
		secskillDetail: 'single/pms/secskill/detail', // 查询秒杀商品详情信息
		groupGoodsDetail: 'single/pms/goodsGroup/detail', // 查询拼团商品详情信息
		groupGoodsList: 'single/pms/groupGoods/list', // 查询拼团商品列表
		groupHotGoodsList: 'single/pms/groupHotGoods/list', // 查询生效拼团商品列表
		giftDetail: 'single/pms/gift/detail', // 查询商品详情信息
		giftList: 'single/pms/gift/list', // 查询商品列表
		typeGiftList: 'single/pms/typeGiftList', //查询商品类型下的商品列表
		addView: 'single/pms/addView', // 查询商品详情信息
		viewList: 'single/pms/viewList', // 查询商品列表

		// goodsDetail: 'single/pms/goods/detail', 		// 查询商品详情信息
		goodsDetail: 'product/product_detail',
		goodsListHome: 'single/pms/goods/list', // 查询商品列表
		goodsList: 'product/product_list', // 查询商品列表
		// categoryList: 'single/pms/productCategory/list', // 查询商品分类列表
		categoryList: 'product/category', // 查询商品分类列表
		createGoods: 'single/pms/createGoods', //创建商品
		brandList: 'single/pms/brand/list', // 根据条件查询所有品牌表列表
		consultList: 'single/pms/consult/list', // 取某个商品的评价
		categoryAndGoodsList: 'single/pms/categoryAndGoodsList/list', // 查询商品分类列表(带商品)
		typeGoodsList: 'single/pms/typeGoodsList', //查询商品类型下的商品列表
		typeList: 'single/pms/typeList', //查询商品类型下的商品列表

		recommendBrand: 'single/pms/recommendBrand/list', // 查询首页推荐品牌
		newProductList: 'product/new_product_list', //查询首页新品
		preProductList:'product/pre_product_list', //查询预售商品
		hotProductList: 'single/pms/hotProductList/list', // 查询热销商品
		listCollect: 'collection/listCollect', // 显示关注列表
		favoriteSave: 'collection/favoriteSave', // 添加/商品收藏
		listAddress: 'user/address_list', // 显示所有收货地址
		deleteAddress: 'address/delete', // 删除
		address: 'user/address', // 添加
		setDefaultAddress: 'address/address-set-default', // 设为默认地址

	},
	order: {
		addGroup: 'single/oms/addGroup', // 发起拼团
		acceptGroup: 'single/oms/acceptGroup', // 提交拼团
		orderList: 'order', // 查询订单列表
		orderDetail: 'order/detail', // 查询订单列表
		operationOrder: 'order/operation', // 操作订单
		closeOrder: 'single/oms/closeOrder', // 关闭订单
		// bookOrder: 'single/oms/generateOrder',//  生成订单
		bookOrder: 'cart/bookOrder', //  填写订单
		addOrder: 'order/create', //生成订单
		// addCart: 'cart/addCart', // 添加商品到购物车
		Cart: 'cart/cart', // 添加商品到购物车
		cartList: 'cart/cartList', // 获取某个会员的购物车列表
		promotionCartList: 'cart/list/promotion', // 获取某个会员的购物车列表,包括促销信息
		updateQuantity: 'cart/update/quantity', //修改购物车中某个商品的数量
		deleteCart: 'cart/delete', // 删除购物车中的某个商品
		clearCart: 'cart/clear', // 清空购物车
		jifenPay: 'pay/jifenPay', // 余额支付
		balancePay: 'pay/balancePay', // 余额支付
		weixinAppletPay: 'pay/weixinAppletPay', // 微信小程序支付
		aliPay: 'pay/aliPay', // 支付宝支付
		pay: 'payment/pay', //微信、支付宝、bankPay

	},
	cms: {
		subjectList: 'single/cms/subject/list', //  查询文章列表
		subjectCategoryList: 'single/cms/subjectCategory/list', //  查询文章分类列表
		subjectCommentList: 'single/cms/subjectComment/list', //  查询文章评论列表
		recommendSubjectList: 'single/cms/recommendSubjectList/list', //查询首页推荐文章
		topicList: 'single/cms/topic/list', //  查询专题列表
		topicDetail: 'single/cms/topic/detail', // 专题详情
		subjectDetail: 'single/cms/subject/detail', // 文章详情
		createSubject: 'single/cms/createSubject', // 创建文章
	},
	vip:{
		center: 'vip/center', // vip中心
		free: 'vip/free',     // vip 免费获取      
		message: 'vip/message', // vip信息
		address: 'vip/address', // vip赠品地址
		help_list: 'vip/help_list' ,//vip 分享助力列表
		help: 'vip/help',         //vip助力接口
		
	},
	agent:{
			bind_invite: 'agent/bind_invite', //绑定邀请码
			get_agent_user_money: 'agent/get_agent_user_money' ,// 获取团队收益
			get_agent_user: 'agent/get_agent_user', // 获取线下团队成员
			get_invite_code: 'agent/get_invite_code', // 领取邀请码
			get_expenditure: 'agent/get_account_detail' //现金明细列表
		},
	withdraw:{
		withdraw_config: 'pay/withdraw_cfg', // 提现配置表
		p_withdraw: 'pay/withdraw'      ,//  提现接口
	},
	fortune:{
		fortune_center: 'fortune/center', //福分中心
		fortune_signin_list: 'fortune/runnable_list', //福分 连续签到列表
		fortune_signin: 'fortune/login', //福分 签到
		fortune_turntable: 'fortune/turntable', // 转盘抽奖列表
		fortune_turntable_go: 'fortune/turntable_go', // 转盘中奖结果
	},
	/**
	 * 封装请求（async await 封装uni.request）
	 * method	   post/get
	 * endpoint    接口方法名
	 * data		   所需传递参数
	 * load		   是否需要loading
	 */
	async apiCall(method, endpoint, data, load) {
		if (!load) {
			uni.showLoading({
				title: '请稍候',
				mask: true
			});
		}
		let fullurl = this.BASEURI + endpoint;
		var date1 = new Date()
		var date2 = new Date('1970/01/01 00:00:00:00')
		var timestamp = date1.getTime() - date2.getTime();
		let Authorization;
		let userInfo = uni.getStorageSync('userInfo');
		let [error, res] = await uni.request({
			url: fullurl,
			data: {
				'sid': userInfo.sid,
				'data': JSON.stringify(data),
				'timestamp': timestamp,
				'sign_type': 'md5',
				'sign': userInfo.token
			},
			method: method,
			header: {
				'Accept': 'application/json',
				'Content-Type': 'application/json', //自定义请求头信息
				// 'Access-Control-Allow-Method':method,
				// 'Content-Type': 'application/x-www-form-urlencoded',
				// 'content-type': 'application/json',
				// 'authorization3':  Authorization || ''
			},
		});
		if (!load) {
			uni.hideLoading();
		}
		if(endpoint == "user/login" || endpoint == "user/captcha_verify" || endpoint == "user/set_password" || endpoint == "user/bind_mobile"){
			return res.data;
		}
		else if (res.data.code == 0) {
			return res.data.data;
		}
		else if(res.data.code == 10004){
			
		}
		else if (res.data.code == 10005) {
			//10005为无效的会话ID,清空会话缓存数据
			setTimeout(function() {
				uni.showToast({
					title: '你的账号已在其它设备登录，请重新登录！',
					icon: 'none'
				});				
			}, 1000)
			store.state.hasLogin = false;
			store.state.userInfo = {};
			uni.clearStorageSync();
			uni.navigateTo({
				url:'/pages/public/login'
			})
		}else{
			uni.showToast({
				title: res.data.error,
				icon: 'none'
			});
		}
	},

	/**
	 * 封装请求（async await 封装uni.request）
	 * method	   post/get
	 * endpoint    接口方法名
	 * data		   所需传递参数
	 * load		   是否需要loading
	 */
	async apiEsCall(method, endpoint, data, load) {
		if (!load) {
			uni.showLoading({
				title: '请稍候',
				mask: true
			});
		}

		let fullurl = this.BASEURI + endpoint;
		let Authorization;
		const userToken = uni.getStorageSync('userToken');
		const userInfo = uni.getStorageSync('userInfo');
		if (userInfo) {
			data.memberId = userInfo.id;
			Authorization = userToken;

		}
		let [error, res] = await uni.request({
			url: fullurl,
			data: data,
			method: method,
			header: {
				'storeId': 1,
				'Content-Type': 'application/x-www-form-urlencoded',
				// 'content-type': 'application/json',
				'Authorization': Authorization || ''
			},
		});
		console.log(error);
		if (!load) {
			uni.hideLoading();
		}
		return res;

	},

	/**
	 * 封装请求（async 封装uni.request）
	 * method	   post/get
	 * endpoint    接口方法名
	 * data		   所需传递参数
	 * load		   是否需要loading
	 */
	apiRequest(method, endpoint, data, load) {
		if (!load) {
			uni.showLoading({
				title: '请稍候',
				mask: true
			});
		}
		let fullurl = this.BASEURI + endpoint;
		var date1 = new Date()
		var date2 = new Date('1970/01/01 00:00:00:00')
		var timestamp = date1.getTime() - date2.getTime();
		uni.request({
			url: fullurl,
			data: {
				"sid": "",
				"timestamp": timestamp,
				"sign_type": "md5",
				"sign": ""
			},
			method: method,
			header: {
				'Accept': 'application/json',
				'Content-Type': 'application/json', //自定义请求头信息
			},
			success: (res) => {
				if (res.data.code == 0) {
					uni.setStorageSync('secret_key', res.data.data.secret_key);
				}
			}
		});
		if (!load) {
			uni.hideLoading();
		}
	},

	async apiUploadFileCall(method, endpoint, filePath, data, load) {
		if (!load) {
			uni.showLoading({
				title: '请稍候',
				mask: true
			});
		}
		let fullurl = this.BASEURI + endpoint;
		var date1 = new Date()
		var date2 = new Date('1970/01/01 00:00:00:00')
		var timestamp = date1.getTime() - date2.getTime();
		let userInfo = uni.getStorageSync('userInfo');
		let [error, res] =await uni.uploadFile({
			url: fullurl,
			filePath: filePath,
			name: 'file',
			formData: {
				'avatar_file': 1,
				'sid': userInfo.sid,
				'data': JSON.stringify(data),
				'timestamp': timestamp,
				'sign_type': 'md5',
				'sign': userInfo.token,
			},
			method: method,
		});
		if (!load) {
			uni.hideLoading();
		}
		res = JSON.parse(res.data);
		if (res.code == 0) {
			return res.data;
		} else {
			uni.showToast({
				title: res.data.error,
				icon: 'none'
			});
		}
	},
	
}
